A Comparative Study on the Effect of Multiple Inheritance Mechanism in Java, C++, and Python on Complexity and Reusability of Code

نویسندگان

  • Fawzi Albalooshi
  • Amjad Mahmood
چکیده

Two of the fundamental uses of generalization in object-oriented software development are the reusability of code and better structuring of the description of objects. Multiple inheritance is one of the important features of object-oriented methodologies which enables developers to combine concepts and increase the reusability of the resulting software. However, multiple inheritance is implemented differently in commonly used programming languages. In this paper, we use Chidamber and Kemerer (CK) metrics to study the complexity and reusability of multiple inheritance as implemented in Python, Java, and C++. The analysis of results suggests that out of the three languages investigated Python and C++ offer better reusability of software when using multiple inheritance, whereas Java has major deficiencies when implementing multiple inheritance resulting in poor structure of objects. Keywords—Reusability; complexity; Python; Java; C++; CK metrics; multiple inheritance; software metrics

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A metrics-based comparative study on object-oriented programming languages

There has been a long debate on which programming language can help write better object-oriented programs. However, to date little response is given to this issue with empirical evidence. In this paper, we perform a comparative study on C++, C#, and Java programs by using object-oriented metrics, which comprise measures for class size, complexity, coupling, cohesion, inheritance, encapsulation,...

متن کامل

A Comparative Study of Multi-Attribute Continuous Double Auction Mechanisms

Auctions have been as a competitive method of buying and selling valuable or rare items for a long time. Single-sided auctions in which participants negotiate on a single attribute (e.g. price) are very popular. Double auctions and negotiation on multiple attributes create more advantages compared to single-sided and single-attribute auctions. Nonetheless, this adds the complexity of the auctio...

متن کامل

Comparative Studies of Six Programming Languages

Comparison of programming languages is a common topic of discussion among software engineers. Multiple programming languages are designed, specified, and implemented every year in order to keep up with the changing programming paradigms, hardware evolution, etc. In this paper we present a comparative study between six programming languages: C++, PHP, C#, Java, Python, VB ; These languages are c...

متن کامل

Multiple Code Inheritance in Java

Java has multiple inheritance of interfaces, but only single inheritance of code. This situation leads to code being duplicated in Java library classes and applications. We describe a generalization of a Java Virtual Machine (JVM) to support multiple inheritance of code. Our approach places code in interfaces, without requiring language syntax changes or compiler modifications. In our extended ...

متن کامل

P30: Are There Anxious Genes?

Anxiety comprises many clinical descriptions and phenotypes. A genetic predisposition to anxiety is undoubted; however, the nature and extent of that contribution is still unclear. Extensive genetic studies of the serotonin (5-hydroxytryptamine, 5-HT) transporter (5-HTT) gene have revealed how variation in gene expression can be correlated with anxiety phenotypes. Complete genome-wide linkage s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017